Aspects of the present disclosure relate to data processing systems, and in particular, to a method, system and computer program product for managing access of virtual machines executed by a host computer system to storage area networks.
Many commercial and other enterprises use storage area networks (SANs) for distributing, acquiring, and managing vast quantities of data. A SAN is a network in which one or more host servers access one or more storage units such as hard disks, optical disks, and tape drives. Typically, each host server includes one or more host-bus adapters (HBAs), each with one or more physical ports.
Large SANs tend to employ virtualization on many levels to allow flexible configuration and reconfiguration of hardware resources. Virtual servers or virtual machines can be used so that a single server can emulate several smaller servers, each with its own instance of an operating system. Disk arrays are divided into logical units (LUNs) that can service different host adapter ports (from the same or different physical servers). Multiple virtual HBA ports can be assigned to a physical port and used so that different virtual servers (running on the same server) can have exclusive access to different sets of LUNs using that same physical HBA port.
Operating Systems access fiber channel storage through world-wide unique identifiers (WWPNs) or identifiers (FC_IDs) tied to a plug position on a Fiber Channel (FC) switch. FC networks typically implement Zoning and LUN masking, which restrict access between WWPNs and FC_IDs from any-to-any to a number of administrator-defined sets. When Operating System instances, such as virtual machines, are moved from one server to another server they still need access to their original data, using a set of unchanged IDs (in the WWPN case) or changed IDs (in the Switch Port case).
When virtual servers using storage area network (SAN) attached storage are to be flexibly deployed and moved around on physical servers (nodes) of a server cluster or cloud, using particular port names to access the SANs and storage resources on storage controllers, it generally must be ensured that port names with identical SAN and storage access capabilities are available for use by the virtual servers on any of the nodes on which they are supposed to run, and can be associated with any of the host ports they are supposed to use on any of these nodes.